// pages/marketing/marketing.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    banner:null,
    marketingType: null, //营销类型 1为热销产品 2为新品推荐
    list: [],
    baseGoodsImgUrl: 'https://jrtest.0791jr.com/data/attachment/item/',//商品图片的基础url
    loading: true, //true显示， flase隐藏
    pagesize: 20, //每页数据量
    page:1, //页数
    loading: true, //加载中图标显示隐藏
    nomore: false, //没有更多提示
    //为空提示
    isNone: false,
    emptyTip: {
      font: "暂时还没有相关商品哦~",
      imgUrl: "/images/none-order.png"
    },
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //获取参数 1为热销产品 2为新品推荐
    let title, type = options.type; 
    //动态修改页面标题
    if (type == '1') { title = "热销产品"; } 
    else if (type == '2') { title = "新品推荐"; }
    wx.setNavigationBarTitle({
      title: title
    });
    //请求商品列表数据
    wx.request({
      url: app.baseURL + 'Index&a=marketing&type=' + type + '&page=1&pagesize=' + this.data.pagesize,
      success: (res) => {
        if (res.statusCode == 200) {
          this.setData({
            data: res.data,
            marketingType: type,
            loading: false,
            isNone: !res.data.item_info.length
          });
          //判断是否已经加载到了最后一页
          this.isNoMore(res.data.item_info.length);
        }
      }
    })  
  },

  /* 每次请求完数据：
  *     1.判断是否已经加载到最后一页，最后一页，显示没有更多提示
  *     2.关闭加载中的图标  
  */
  isNoMore(n) {
    this.setData({
      nomore: n < this.data.pagesize,
      loading: false
    });
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    this.loadMore();
  },

  //获取更多热销产品
  loadMore() {
    const type = this.data.marketingType;
    if (!this.data.nomore) {
      this.setData({
        loading: true,
        page: this.data.page + 1
      })
      //请求商品列表数据
      wx.request({
        url: app.baseURL + 'Index&a=marketing&type=' + type + '&page='+ this.data.page +'&pagesize=' + this.data.pagesize,
        success: (res) => {
          if (res.statusCode == 200) {
            let data = this.data.data;
            data.item_info = [...data.item_info, ...res.data.item_info];
            this.setData({
              data: data,
              loading: false
            });
            //判断是否已经加载到了最后一页
            this.isNoMore(res.data.item_info.length);
          }  
        }
      });
    }  
  }
})